package com.zrk.base;

/**
 * java doc
 * @author zrk
 * @version 1.0
 */
public class TypeLearn {
    public static void main(String[] args) {

        // 浮点型精度有限
        double x = 1.0 / 10;
        double y = 1 - 9.0 / 10;
        System.out.println("x = " + x);
        System.out.println("y = " + y);

        // 一般判断两个浮点型是否相等使用两数之差小于指定值来判断
        double r = Math.abs(x - y);
        if (r < 0.000001) {
            System.out.println("yes!");
        }

        // 布尔类型
        boolean bTrue = true;
        System.out.println(bTrue);

        // 字符，一个字符占用2字节，使用Unicode编码，想要看编码值，只需转换为int型就行
        char cA = 'A';
        char cB = '中';
        System.out.println(cA);
        System.out.println(cB);
        System.out.println((int)cB);

        // 字符串，在java 13以后可以使用"""..."""表示多行字符串
        // 多行字符串前面共同的空格会被去掉
        // 用.标注的空格都会被去掉
        String s = """
                   SELECT * FROM
                     users
                   WHERE id > 100
                   ORDER BY name DESC
                   """;
        System.out.println(s);

        // 字符串是引用，引用可以为null
        s = null;

        // 请将一组int值视为字符的Unicode编码，然后将它们拼成一个字符串：
        int a = 72;
        int b = 105;
        int c = 65281;
        String s1 = "" + (char)a + (char)b + (char)c;
        System.out.println(s1);
    }
}